
package com.joysuch.wwyt.core.service;

import com.joysuch.wwyt.bp.entity.BpEnterpriseInfo;
import com.joysuch.wwyt.core.entity.BaseLoginAccount;
import com.joysuch.wwyt.core.entity.BaseUser;

public interface BaseLoginAccountService {

    // 保存用户
    String save(BaseLoginAccount account) throws Exception;

    // 修改用户
    String edit(BaseLoginAccount account);

    // 根据ID查找账号
    BaseLoginAccount findById(Long id);

    // 根据ID查找账户名称
    String findAccountNameById(Long id);

    BaseLoginAccount createLoginAccountIfNotExists(Long baseUserId, String userName, String password);

    // BaseLoginAccount username(BaseLoginAccount bean);

    BaseLoginAccount createLoginAccountIfNotExists(BaseUser user, String userName, String password);

    /**
     * 添加或者更新账号。添加时使用password作为密码，如果更新，则保持原密码不变
     *
     * @param user
     * @param userName
     * @param password
     * @return
     */
    public BaseLoginAccount addOrUpdateLoginAccount(BaseUser user, String userName, String password);

    public BaseLoginAccount addOrUpdateLoginAccountV2(BaseUser user, String userName, String password, BpEnterpriseInfo info);

    void setLoginAccount(Long userId, Integer showState);
}
